package com.todo.biz.iface.backend.response;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/14 19:18
 * @description
 */
@Data
@Schema(title = "收藏集合详情信息", description = "收藏集合详情信息")
public class QueryCollectSetDetailResp {

    /**
     * 主键id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Schema(title = "主键id", description = "主键id")
    private Long id;
    /**
     * 集合名称
     */
    @Schema(title = "集合名称", description = "集合名称")
    private String title;

    @Schema(title = "集合编码", description = "集合编码")
    private String code;
    /**
     * 集合描述
     */
    @Schema(title = "集合描述", description = "集合描述")
    private String desc;
    /**
     * 筛选规则
     */
    @Schema(title = "筛选规则", description = "筛选规则")
    private String collectRule;
    /**
     * 集合类型
     * 美食、门店、景点等
     * CollectSetTypeEnum
     */
    @Schema(title = "集合类型", description = "美食、门店、景点等")
    private Integer collectType;
    /**
     * 省份
     */
    @Schema(title = "省份", description = "省份")
    private String province;
    /**
     * 城市
     */
    @Schema(title = "城市", description = "城市")
    private String city;
    /**
     * 主图
     */
    @Schema(title = "主图", description = "主图")
    private String mainImg;

    @Schema(title = "状态", description = "状态")
    private Integer status;

    /**
     * 关联信息列表
     */
    @Schema(title = "关联信息列表", description = "关联信息列表")
    private List<RelationInfo> relationInfoList;

    @Data
    public static class RelationInfo {
        /**
         * 关联id
         */
        @Schema(title = "关联id", description = "关联id")
        private Long relationId;
        /**
         * 关联类型 门店、美食、景点等
         * CollectSetTypeEnum
         */
        @Schema(title = "关联类型", description = "门店、美食、景点等")
        private Integer relationType;
        /**
         * 排序
         */
        @Schema(title = "排序", description = "排序")
        private Integer sort;
    }
}
